package com.training1.core.web.controller.hl;

import java.util.Scanner;
import java.util.regex.Matcher;
import java.util.regex.Pattern;


/**
 * 正则表达式
 * 
 * @author 何磊
 *
 */
public class RegularExpression {

	public static void main(String[] args) {
		System.out.println("请输入：");
		Scanner sc = new Scanner(System.in);
		String str = sc.nextLine();
		// 匹配邮政编码
		String reg = "^[0-9][0-9][0-9][0-9][0-9][0-9]$";
		/**
		 * 1.匹配方法   .matches(reg)  reg是正则表达式
		 */
//		System.out.println(str.matches(reg));

		//匹配身份证号
		String card = "^\\d{15}(\\d{2}[0-9xX])?$";
		/**
		 * 2.Pattern(card,str)
		 */
//		System.out.println(Pattern.matches(card, str));
		
		/**
		 * 3. 精确匹配 
		 *		匹配邮政编码的正则表达式：
		 */
		String chinese = "^\\d{6}$";
		//将给定的正则表达式编译到模板中
		Pattern p = Pattern.compile(chinese);
		
		//得到Matcher匹配器
		Matcher m = p.matcher(str);
		//尝试去全部匹配目标正则
//		if(m.find()){
//			//返回匹配成功的字符在整个序列中的起始位置
//			System.out.println(m.start());
//			System.out.println("匹配成功");
//		//返回匹配成功的字符在整个序列中的结束位置
//			System.out.println(m.end());
//		}else{
//			System.out.println("匹配失败");
//		}
		//循环打印出所有匹配正则的字符串
				while(m.find()){
					//得到匹配成功的字符序列
					System.out.println(m.group());
				}
		sc.close();
	}

}
